<!--
 * @Author: Hzh
 * @Date: 2021-04-23 10:13:38
 * @LastEditTime: 2021-04-23 15:47:58
 * @LastEditors: Hzh
 * @Description:
-->
<template>
  <div class="home">
    <div class="GZFX_title">故障分析</div>
    <!-- 内容 -->
    <div class="GZFX_content">
      <!-- 上半部分 -->
      <div class="content_common content_top">
        <!-- 历年故障统计-->
        <div class="content_fourCommon content_GZTJ">
          <div class="content_commonTitle">历年故障统计</div>
          <div class="content_echarts">
            <!-- 柱状图 -->
            <div id="LNGZTJ"></div>
          </div>
        </div>
        <!-- 故障案例 -->
        <div class="content_fourCommon">
          <div class="content_commonTitle">故障案例</div>
          <div class="content_GZAL">
            <!--  下拉菜单-->
            <div class="GZAL_xiaLaCaiDan">
              <!-- 第一行 -->

              <!-- 搜索框 -->
              <div class="GZFX_content_middle">
                <el-input v-model="input" placeholder="请输入"></el-input>
                <img class="search_icon" src="../assets/GZFX_icon.png" alt="">
              </div>
              <!-- 设备名称 -->
              <div class="GZAL_XL_one">
                <span>设备名称：</span>
                <div class="xiaLaCaiDan">
                  <el-select v-model="selectedData_1" class="select-bg" placeholder="请选择设备"
                    :popper-append-to-body="false">
                    <el-option id="el-option" v-for="(item, index) in dataOptions_1" :key="index" :label="item.label"
                      :value="item.value">
                    </el-option>
                  </el-select>
                </div>
              </div>
              <!-- 部件名称 -->
              <div class="GZAL_XL_one">
                <span>部件名称：</span>
                <div class="xiaLaCaiDan">
                  <el-select v-model="selectedData_2" class="select-bg" placeholder="请选择设备"
                    :popper-append-to-body="false">
                    <el-option id="el-option" v-for="(item, index) in dataOptions_2" :key="index" :label="item.label"
                      :value="item.value">
                    </el-option>
                  </el-select>
                </div>
              </div>
              <!-- 故障类型 -->
              <div class="GZAL_XL_one">
                <span>故障类型：</span>
                <div class="xiaLaCaiDan">
                  <el-select v-model="selectedData_3" class="select-bg" placeholder="请选择设备"
                    :popper-append-to-body="false">
                    <el-option id="el-option" v-for="(item, index) in dataOptions_3" :key="index" :label="item.label"
                      :value="item.value">
                    </el-option>
                  </el-select>
                </div>
              </div>
              <!-- 选择站和全部-->
              <div class="GZAL_XL_Two zhan">
                <!-- 站+下拉框 -->
                <span>站：</span>
                <div class="xiaLaCaiDan">
                  <el-select v-model="selectedData_4" class="select-bg" placeholder="请选择设备"
                    :popper-append-to-body="false">
                    <el-option id="el-option" v-for="(item, index) in dataOptions_4" :key="index" :label="item.label"
                      :value="item.value">
                    </el-option>
                  </el-select>
                </div>
                <!-- 全部按钮 -->
                <div class="quanBU">
                  <el-checkbox v-model="checked_all">全部</el-checkbox>
                </div>
              </div>
              <!-- 时间范围 -->
              <div class="GZAL_XL_Two time">
                <el-checkbox v-model="checked_time">时间范围</el-checkbox>
                <el-time-select v-model="value_time" :picker-options="{
                  start: '08:30',
                  step: '00:15',
                  end: '18:30'
                }">
                </el-time-select>
              </div>
              <!-- 查询和重置按钮 自动刷新 -->
              <div class="GZAL_XL_Two chaxun_btn">
                <div class="cxcz">
                  查询
                </div>
                <div class="cxcz">
                  重置
                </div>
                <div class="zdsx">
                  <el-switch v-model="value2" inactive-text="自动刷新">
                  </el-switch>
                </div>
              </div>

            </div>
            <!-- 表格 -->
            <div class="GZAL_table">
              <table class="XHSZ_table2">
                <thead>
                  <tr class="tab_header">
                    <td style="width: 20px;">序号</td>
                    <td style="width: 30px;">故障时间</td>
                    <td>设备名称</td>
                    <td>部件名称</td>
                    <td>故障描述</td>
                    <td>处置建议</td>
                  </tr>
                </thead>
                <tbody id="tb">
                  <tr v-for="(item, index) in ZGAL_data" :key="index">
                    <td style="width: 20px;">{{ index + 1 }}</td>
                    <td style="width: 30px;">{{ item.time }}</td>
                    <td>{{ item.sheBei_name }}</td>
                    <td>{{ item.buJian_name }}</td>
                    <td>{{ item.guZhangMiaoShu }}</td>
                    <td>{{ item.chuZhiJianYi }}</td>
                  </tr>
                </tbody>
              </table>
            </div>
            <!-- 分页器 -->
            <div class="GZAL_fenYeQi">
              <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
                :current-page="currentPage" :page-sizes="[100, 200, 300, 400]" :page-size="100"
                layout="total, sizes, prev, pager, next, jumper" :total="400">
              </el-pagination>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>

<script>
import * as echarts from 'echarts'
export default {
  name: "Home",
  data() {
    return {
      // 故障按钮的时间选择器的变量
      value_time: '',
      // 全部按钮是否选中
      checked_all: true,
      // 时间范围按钮是否被选择
      checked_all: true,
      // 设备名称 el-select的选择的值,默认选择的数据
      selectedData_1: "所有设备",
      // 部件名称 el-select的选择的值,默认选择的数据
      selectedData_2: "所有部件",
      // 故障类型 el-select的选择的值,默认选择的数据
      selectedData_3: "所有类型",
      // 站 el-select的选择的值,默认选择的数据
      selectedData_4: "所有站",
      // 设备名称  下拉菜单
      dataOptions_1: [
        {
          value: "data1",
          label: "所有设备"
        },
        {
          value: "data2",
          label: "事故油池1"
        },
        {
          value: "data3",
          label: "消防管网泵"
        },
        {
          value: "data4",
          label: "给排水"
        },
        {
          value: "data5",
          label: "事故油池2"
        }
      ],
      // 部件名称  下拉菜单
      dataOptions_2: [
        {
          value: "data1",
          label: "所有部件"
        },
        {
          value: "data2",
          label: "事故油池1"
        },
        {
          value: "data3",
          label: "消防管网泵"
        },
        {
          value: "data4",
          label: "给排水"
        },
        {
          value: "data5",
          label: "事故油池2"
        }
      ],
      // 故障类型  下拉菜单
      dataOptions_3: [
        {
          value: "data1",
          label: "所有类型"
        },
        {
          value: "data2",
          label: "事故油池1"
        },
        {
          value: "data3",
          label: "消防管网泵"
        },
        {
          value: "data4",
          label: "给排水"
        },
        {
          value: "data5",
          label: "事故油池2"
        }
      ],
      // 站  下拉菜单
      dataOptions_4: [
        {
          value: "data1",
          label: "所有站"
        },
        {
          value: "data2",
          label: "事故油池1"
        },
        {
          value: "data3",
          label: "消防管网泵"
        },
        {
          value: "data4",
          label: "给排水"
        },
        {
          value: "data5",
          label: "事故油池2"
        }
      ],
      // 分页器当前页的变量
      currentPage: 4,
      // 故障类别统计的数据
      GZLBTJ_data: [
        {
          color: '#73c0de',
          name: '机械：0'
        },
        {
          color: '#91cc75',
          name: '漏气：0'
        },
        {
          color: '#fac858',
          name: '其他：0'
        },
        {
          color: '#ee6666',
          name: '绝缘：0'
        },
        {
          color: '#5470c6',
          name: '二次件损坏：0'
        },
      ],
      // 故障案例的数据
      ZGAL_data: [
        {
          time: '2023-11-14 10:00:00',
          sheBei_name: '7511组合电器',
          buJian_name: '断路器',
          guZhangMiaoShu: '漏气',
          chuZhiJianYi: '对气室迅速补气，采用红外捡漏排查漏气点'
        },
      ],
      // 故障案例的搜索框变量
      input: '',
      // 自动刷新的按钮
      value2: true

    }
  },
  components: {},
  mounted() {
    // 历年故障统计柱状图
    this.LNGZTJ_zhuZhuangtu()
  },
  methods: {
    // 分页器控制每页尺寸
    handleSizeChange(val) {
      console.log(`每页 ${val} 条`);
    },
    // 分页器控制当前页
    handleCurrentChange(val) {
      console.log(`当前页: ${val}`);
    },
    // 历年故障统计柱状图
    LNGZTJ_zhuZhuangtu() {
      // 基于准备好的dom，初始化echarts实例
      var myChart = echarts.init(document.getElementById('LNGZTJ'));
      myChart.resize({
        width: 550,
        height: 300
      })
      // 绘制图表
      myChart.setOption({
        xAxis: {
          type: 'category',
          data: ['2014', '2015', '2016', '2017', '2018', '2019', '2020', '2021', '2022', '2023',],
          axisLabel: {
            color: '#fff'
          }
        },
        yAxis: {
          type: 'value',
          max: 5,
          splitLine: {
            show: false
          },
          axisTick: {
            show: false
          },
          axisLine: {
            show: true
          },
          axisLabel: {
            color: '#fff'
          }
        },
        series: [
          {
            data: [2, 3, 4, 2, 3, 4, 3, 1, 3, 2],
            type: 'bar',
            itemStyle: {
              // 使用方法二的写法
              color: {
                type: "linear",
                x: 0, //右
                y: 0, //下
                x2: 0, //左
                y2: 1, //上
                colorStops: [
                  {
                    offset: 0.01,
                    color: "#648afd" // 0% 处的颜色
                  },
                  {
                    offset: 0.67,
                    color: "#2f436d" // 70% 处的颜色
                  },
                  {
                    offset: 0.84,
                    color: "#213249" // 100% 处的颜色
                  },
                  {
                    offset: 1,
                    color: "#142025" // 100% 处的颜色
                  }
                ]
              }
            }
          }
        ]
      });
    },
  }
};
</script>

<style lang="scss" scoped>
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;

}

.home {
  width: 1232px;
  height: 288px;
  background: url('../assets/GZFX_bg.png') no-repeat;

  // 大标题
  .GZFX_title {
    width: 100%;
    height: 40px;
    line-height: 40px;
    color: #fff;
    font-size: 20px;
    text-align: left;
    padding-left: 56px;
  }

  // 内容
  .GZFX_content {
    width: 100%;
    height: 248px;

    // 内容的公共样式
    .content_common {
      display: flex;
      width: 100%;
      height: 100%;
      // background-color: green;

      // 四个块的公共样式
      .content_fourCommon {
        flex: 1;
        // background-color: pink;
        padding-top: 13px;
        padding-left: 31px;
        text-align: left;
        color: #40e5f0;

        // 四个小标题的公共样式
        .content_commonTitle {
          width: 564px;
          height: 14px;
          line-height: 14px;
          background: url('../assets/GZFX_contentTitleBG.png') no-repeat;
          padding-left: 26px;
        }

        // 故障统计和故障部件统计的内容的公共样式
        .content_echarts {
          width: 500px;
          height: 200px;
          // background-color: yellow;
        }
      }
    }

    // 上半部分
    .content_top {
      border-bottom: 3px solid #40486a;

      // 故障统计
      .content_GZTJ {
        border-right: 3px solid #40486a;

        // 柱状图
        #LNGZTJ {
          width: 100%;
          height: 100%;
          margin-top: -40px;
        }
      }

      // 故障案例
      .content_GZAL {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 565px;
        height: 206px;
        // background-color: yellow;
        margin-top: 5px;
        margin-left: 4px;

        // 下拉菜单
        .GZAL_xiaLaCaiDan {
          display: flex;
          flex-wrap: wrap;
          justify-content: space-between;
          width: 100%;
          height: 47px;
          // background-color: #fff;
          font-size: 12px;
          color: #fff;

          // 搜索框
          .GZFX_content_middle {
            height: 20px;
            // background-color: pink;
            position: relative;
            width: 102px;
            color: #fff;

            /* 搜索的icon */
            .search_icon {
              position: absolute;
              right: 9px;
              top: 6px;
            }
          }

          // 第一行 设备名称 部件名称 故障类型 公共样式
          .GZAL_XL_one {
            display: flex;
            width: 144px;
            height: 20px;
            line-height: 20px;
            // background-color: pink;

            .xiaLaCaiDan {
              position: relative;
              width: 81px;
              height: 20px;
              z-index: 1;

              ::v-deep .el-input {
                width: 80px;
                font-size: 12px;
                padding: 0;
              }
            }
          }

          // 第二行
          .GZAL_XL_Two {
            height: 20px;
            line-height: 20px;
            // background-color: pink;


          }

          // 站+下拉框 全部按钮
          .zhan {
            display: flex;
            width: 153px;

            // 站里面的下拉框
            .xiaLaCaiDan {
              position: relative;
              width: 81px;
              height: 20px;
              z-index: 1;

              ::v-deep .el-input {
                width: 80px;
                font-size: 12px;
                padding: 0;
              }
            }

            // 全部按钮
            .quanBU {
              width: 41px;
              height: 14px;

              // 多选框被选中时的文字设置
              ::v-deep .el-checkbox__input.is-checked+.el-checkbox__label {
                color: #fff;
              }

              // 多选框没有选中时的文字设置
              ::v-deep .el-checkbox {
                color: #fff;
              }
            }
          }

          // 时间范围
          .time {
            display: flex;
            width: 163px;

            // 多选框被选中时的文字设置
            ::v-deep .el-checkbox__input.is-checked+.el-checkbox__label {
              color: #fff;
            }

            // 多选框没有选中时的文字设置
            ::v-deep .el-checkbox {
              color: #fff;
            }

            // 时间选择器
            ::v-deep .el-input {
              width: 85px;
              height: 20px;
              color: #fff;

              .el-input__icon {
                line-height: 20px;
              }


            }
          }

          // 查询和重置按钮 自动刷新
          .chaxun_btn {
            width: 213px;
            display: flex;
            justify-content: space-between;

            // 重置查询
            .cxcz {
              width: 53px;
              height: 20px;
              text-align: center;
              background-color: #195158;
              border: solid 1px #40486a;

            }

            .zdsx {

              ::v-deep .el-switch__label {
                color: #fff;
              }

              ::v-deep .el-switch__label * {
                font-size: 12px;
              }

              ::v-deep .el-switch__label--left {
                margin-right: 5px;
              }
            }
          }
        }

        // 表格
        .GZAL_table {
          width: 100%;
          height: 144px;
          // background-color: #fff;
          text-align: center;

          .XHSZ_table2 {
            // width: 608px;
            height: 100%;
            font-size: 15px;
            font-weight: bold;
            color: #c6d3ec;
            border: 1px solid #343d59;
            // 合并相邻的边框线
            border-collapse: collapse;

            img {
              width: 20px;
              height: 20px;
              margin-right: 8px;
              vertical-align: middle;
            }

            tr {
              display: table;
              box-sizing: border-box;
              table-layout: fixed;
              height: 37px;
              width: 100%;

              // 鼠标移动到tr上时改变颜色
              &:hover {
                background-color: #424c6d;
              }
            }

            td {
              width: 37px;
              border: 1px solid #343d59;
              // overflow: hidden; //文本超出显示省略号
              // text-overflow: ellipsis; //文本超出隐藏
              // white-space: nowrap; //只保留一个空白，文本不会换行
            }

            thead {
              background-color: #101d29;
              height: 37px;

              .tab_header {
                height: 100%;
                background-color: #1d2638;
              }
            }

            // // 纵向内容超出现滚动条
            tbody {
              display: block;
              height: 107px;
              // 宽度计算：100%+滚动条的宽度，避免和表头没对齐
              width: calc(100% + 8px);
              -webkit-overflow-scrolling: touch;
              // 当数据少于等于三条时，滚动条会消失
              overflow-y: scroll;
              padding-right: 4px;

              // 整个滚动条
              &::-webkit-scrollbar {
                -webkit-appearance: none;
                width: 4px;
                height: 61px;
              }

              // 滚动条轨道
              &::-webkit-scrollbar-track {
                // background-color: pink;
                border-radius: 0;
              }

              // 滚动条上的滑道
              &::-webkit-scrollbar-thumb {
                cursor: pointer;
                border-radius: 0px;
                background-image: url("../assets/FST_xialatiao.png");
                // background-color: skyblue;
                transition: color 0.2s ease;
              }

            }

            .caiYangShiJian {
              display: inline-block;
              width: 50px;
              height: 20px;
              line-height: 20px;
            }
          }

          table tr:nth-child(odd) {
            background-color: #202f3e;
          }

          table tr:nth-child(even) {
            background-color: #172533;
          }
        }

        // 分页器
        .GZAL_fenYeQi {
          width: 100%;
          height: 26px;
          // background-color: #fff;
          text-align: right;

          // 共多少页
          ::v-deep .el-pagination__total {
            color: #fff;
          }

          // 前往几页
          ::v-deep .el-pagination__jump {
            color: #fff;
          }

          // 100条/页
          ::v-deep .el-pagination .el-select .el-input .el-input__inner {
            width: 85px;
            height: 24px;
            background-color: #202f3e;
            border: 1px solid #40486a;
            color: #fff;

          }

          // 前往几页的框
          ::v-deep .el-pagination__editor.el-input .el-input__inner {
            width: 39px;
            height: 24px;
            background-color: #222b30;
            border: 1px solid #40486a;
            color: #fff;
          }

          // 前箭头
          ::v-deep .el-pagination .btn-next,
          ::v-deep .el-pagination .btn-prev {
            background-color: #222b30;
            border: 1px solid #40486a;
            color: #fff;
            border: 0;

          }

          // 中间的1 2 3 4 的li
          ::v-deep .el-pager li {
            background-color: #222b30;
            border: 1px solid #40486a;
            color: #fff;
            border: 0;
          }

          // 后箭头
          ::v-deep .el-pagination button:disabled {
            background-color: #222b30;
            border: 1px solid #40486a;
            color: #fff;
            border: 0;
          }
        }
      }
    }
  }

  // elementUI的输入框
  ::v-deep .el-input {
    width: 102px;
    height: 20px;
    color: #fff;

    .el-input__inner {
      width: 100%;
      height: 20px;
      background-color: #202f3e;
      border: 1px solid #40486a;
      font-size: 12px;
      border-radius: 0;
      color: #fff;

    }
  }

  // element的下拉菜单样式设置
  ::v-deep .el-select {
    width: 81px;
    height: 20px;
    background-color: #202f3e;

    .el-input__inner {
      height: 20px;
      background-color: #202f3e;
      border-radius: 0;
      color: #fff;
      padding-left: 0;
    }

    // 下拉箭头的设置
    .el-input__prefix,
    .el-input__suffix {
      top: 8px;
    }

  }
}

::v-deep .el-input--suffix .el-input__inner {
  padding-right: 20px;
}
</style>